package com.sc.sc250601.cook.config;

import com.corundumstudio.socketio.Configuration;
import com.corundumstudio.socketio.SocketIOServer;
import com.sc.sc250601.cook.handler.SocketIOHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;


@org.springframework.context.annotation.Configuration
public class SocketIOConfig {

    @Autowired // 确保能注入handler（需要handler被Spring管理）
    private SocketIOHandler socketIOHandler;

    @Bean
    public SocketIOServer socketIOServer() {
        Configuration config = new Configuration();
        config.setHostname("localhost"); // 服务器IP
        config.setOrigin("http://localhost:8080");
        config.setPort(8081); // 可以用单独的端口，避免与HTTP冲突

        // 配置跨域
        config.setOrigin("*");

        SocketIOServer server = new SocketIOServer(config);
        // 关键步骤：必须将handler注册到服务器！
        server.addListeners(socketIOHandler); // 这行代码必须存在

        // 启动服务
        server.start();
        System.out.println("Socket.IO服务器启动成功，端口：8081");
        return server;
    }
}